#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;
//int firstUniqChar(string s) {
//    int i = 0;
//    int n = s.size() - 1;
//    while (i <= n)
//    {
//        char a = s[i];
//        int pos = s.find(a, i + 1);
//        if (pos == string::npos && s[i] != '*')
//        {
//            return i;
//
//        }
//        else
//        {
//            s[i] = '*';
//            if (pos != string::npos)
//            {
//                s[pos] = '*';
//            }
//        }
//        i++;
//    }
//    return -1;
//}
//int firstUniqChar(string s) {
//    int i = 0;
//    int n = s.size() - 1;
//    for (; i <= n; i++)
//    {
//        char a = s[i];
//        int pos = s.find(a, i + 1);
//        if (s[i] == '*' && pos != -1 && s[pos] == '*')
//        {
//            continue;
//        }
//        if (pos == string::npos && s[i] != '*')
//        {
//            return i;
//        }
//        else
//        {
//            s[i] = '*';
//            if (pos != string::npos)
//            {
//                s[pos] = '*';
//            }
//        }
//    }
//    return -1;
//}
//int firstUniqChar(string s) {
//    int i = 0;
//    int n = s.size() - 1;
//    for (; i <= n; i++)
//    {
//
//        char a = s[i];
//        if (a != '*')
//        {
//            s[i] = '*';
//            int pos = s.find(a, i + 1);
//            if (pos == -1)
//            {
//                return i;
//            }
//            while (a != '*' && pos != -1)
//            {
//                s[pos] = '*';
//                pos = s.find(a, pos + 1);
//            }
//        }
//        else
//        {
//            continue;
//        }
//
//
//    }
//    return -1;
//}
bool isPalindrome(string s) {
    string tmp;
    int i = 0; int n = s.size() - 1;
    while (i <= n)
    {
        if (s[i] >= 'A' && s[i] <= 'Z')
        {
            tmp += s[i] + 32;
        }
        else if (s[i] >= 'a' && s[i] <= 'z')
        {
            tmp += s[i];
        }
        i++;
    }
    string::iterator it1 = tmp.begin();
    string::reverse_iterator it2 = tmp.rbegin();
    while (it1 != tmp.end() || it2 != tmp.rend())
    {
        if (*it1 != *it2)
        {
            return false;
        }
        ++it1; ++it2;
    }
    return true;
}
int main()
{
    string s1("0P");
    int i= isPalindrome(s1);
}